package unite;


import java.io.Serializable;

import deroulementjeu.Equipe;
import terrain.CaseTerrain;


/**
 * Représente une unité de type dresseur
 * @author Alexis BRASY, Geoffrey LEQUESNE, Sandrine PIRIOU, Michel POPOV
 *
 */
public class Dresseur extends Jouable implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * Constructeur d'une unité de type Dresseur
     * @param caseTerrain CaseTerrain sur laquelle sera placée l'unité créée
     */
    public Dresseur(CaseTerrain caseTerrain, Equipe equipe) {
        this.equipe = equipe;
        equipe.ajouterUnite(this);
        this.caseTerrain = caseTerrain;
        caseTerrain.ajouterUnite(this);
        this.pv = this.getRegles().getCaracUnite(TypeUnite.DRESSEUR,
                TypeCarac.PV);
        this.deplacement = this.getRegles().getCaracUnite(TypeUnite.DRESSEUR,
                TypeCarac.DEPLACEMENT);
        this.chance = initChance();
    }
	
    /**
     * Renvoie le type DRESSEUR
     * @return DRESSEUR
     */
    @Override
    public TypeUnite getType() {
        return TypeUnite.DRESSEUR;
    }
	
    /**
     * Accesseur à l'XP du dresseur
     * @return zéro car le dresseur ne gagne pas d'XP
     */
    @Override
    public int getXp() {
        return 0;
    }
	
    /**
     * Le dresseur ne gagne pas d'XP.
     */
    @Override
    protected int gainXP(Unite attaque) {
        return 0;
    }
	
    @Override
    public int getNiveau() {
        return 0;
    }
	
    @Override
    public void initTour() {}
	
    /**
     * Méthode à appeler en fin de tour, pour régénérer les PV en fonction des règles, si le pokémon ne s'est pas déplacé
     */
    public void regenPVfinTour() {// ne pas régénérer les PV pour les dresseurs
    }
}
